Objektorientierte Programme heben die strikte Trennung von Daten und Prozeduren der traditionellen Elektronischen Datenverarbeitung (EDV) auf. Sie bestehen stattdessen aus Objekten, welche Daten und Prozeduren verknüpfen und in Objekten kapseln. Sie bezeichnen den Datenaspekt eines Objekts als dessen Zustand (Eigenschaften) und den prozeduralen Aspekt als dessen Verhalten (Methoden). Ein Objekt ist eine Abstraktion eines realen Gegenstands oder eines idellen Konzepts. Der Softwareentwickler abstrahiert von der Wirklichkeit, damit er sie besser auf ein Computersystem abbilden kann. Welche Aspekte auf Objekte abbildet, hängt vom Problembereich ab.
Eine Objektklasse (Objekttyp) ist eine Beschreibung einer Gruppe von Objekten mit gleichen Eigenschaften und gleichem Verhalten. Ein einzelnes Objekt, das aufgrund einer solchen Beschreibung erstellt wurde, heisst Instanz (Objekt) der Klasse. Ein Objektmodell beschreibt die Objekte einer Anwendung und ihre Beziehungen untereinander. Instanzen besitzen zwar gleiche Eigenschaften und Methoden, jedoch mit verschiedenen Eigenschaftswerten.
Zur Vertiefung betrachten wir das Objektmodell von MS Excel 2000. Die Übersicht im folgenden Bild stammt aus der Online-Hilfe. In groben Zügen spiegelt das Modell die Beziehungen zwischen den Benutzerschnittstellenkomponenten des Anwendungspakets wider. Zuoberst steht die Anwendung selbst (Application). Sie enthält unter anderem Arbeitsmappen (Workbooks) und Menüleisten (CommandBars). Arbeitsmappen ihrerseits enthalten beispielsweise Tabellen- (Worksheets) und Diagrammblätter (Charts), usw. Die Teil-von-Beziehungen zwischen den Komponenten strukturieren ein Objektmodell hierarchisch. Man spricht deshalb auch von Objekthierarchie. Übergeordnete Objekte bezeichnet man oft als Vater- oder Mutterknoten (auch Eltern). Untergeordnete Objekte bezeichnet man entsprechend als Kindknoten oder als Tochter bzw. Sohn. Jedes Kind kann dabei Vater oder Mutter eigener Kinder sein.
Um auf ein Kind eines gegebenen Objekts zuzugreifen, bedient man sich des Punktoperators. Die (ungekürzte) Anweisung für den Zugriff auf den Wert eines Tabellenblattfelds lautet zum Beispiel (siehe Bild):
Nummer = Application _
.Workbooks("Range.xls") _
.Worksheets("Tab1") _
.Range("roterBereich") _
.Cells(2,3) _
.Value
Die Anweisung weist der Variablen Nummer den Wert der Zelle (2, 3) des benannten Zellbereichs "roterBereich" des Arbeitsblattes "Tab1" der Arbeitsmappe "Range.xls" der Excelanwendung zu.
Genaugenommen ist ein Objektmodell aber nicht einfach die Zerlegung einer Anwendung in ihre Benutzerschnittstellenkomponenten. Es sind funktionale Aspekte, nach denen Prozeduren und Daten zu Objekten zusammengefasst werden. So gibt es im Objektmodell von Excel auch Objekte ohne Benutzerschnittstelle, zum Beispiel alle, die in der Objektübersicht der Online-Hilfe gelb hinterlegt sind und deren Namen im Plural stehen (z.B. "Workbooks"). Diesen sogenannten Auflistungsobjekte kann man sich wie Behälter für andere Objekte vorstellen.